package com.yang.leather.core;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

import com.yang.leather.common.hibernate.BaseDao;
import com.yang.leather.common.page.Pagination;


public interface LeatherCoreDao<T extends Serializable> extends BaseDao<T> {
	/**
	 * 
	 * @param hql 
	 * @param param 参数
	 * @param pageNo 当前页
	 * @param pageSize 每页大小
	 * @param assembleCondition 是否组装条件
	 * @return
	 */
	public Pagination pagination(String hql, Map<String,Object> param, int pageNo, int pageSize, boolean assembleCondition);
	
	public int count(String hql, Map<String,Object> param, boolean assembleCondition);
	
	public List<T> getList(String hql,Map<String,Object> param, boolean assembleCondition);
	
	public List<T> getLimitList(String hql,Map<String,Object> param,int limit, boolean assembleCondition);
}
